1 CLR 10 POKE53280,0:POKE53281,0:POKE 53269,0 15 A1=1 20 DIMS(9),S$(11),SE$(11),NU$(10,3) 100 GOSUB 4000 105 GOSUB10000 110 GOSUB21000:GOSUB 3700 120 V=6:H=9:TX$="[158][196]O YOU NEED A LESSON?":GOSUB 3200 130 V=8:H=15:TX$="[159]( [217] [159]/ [206] [159])":GOSUB 3200 150 PA=1:LO=0:GOSUB 2100:IFA$="Y"ORA$="[217]"THENGOSUB20000:GOTO 160 151 IF A$="N" OR A$="[206]" THEN 160 152 GOTO 120 160 PA=0:GOSUB5000:RU=1:GOSUB1000:GOSUB 3700:IF OP<>3 THEN 191 174 GOSUB 500:GOSUB 3700 191 V=10:TX$="[196]O YOU WANT TO PLAY AGAIN? ":GOSUB3000 200 V=12:H=15:TX$="[159]( [217] [159]/ [206] [159])":GOSUB 3200:LO=0:GOSUB 2100 220 IFA$="Y"ORA$="[217]"THEN GG=0:NN=0:N=0:G=0:GOTO 160 221 IF A$="N" OR A$="[206]" THEN 230 222 GOTO 191 230 SYS 8*4096+4 240 STOP 500 V=10:H=0:TX$="[217]OU GOT"+STR$(N)+" RIGHT OUT OF"+STR$(GG)+" PROBLEMS" 501 PRINT CHR$(14):GOSUB3200:V=12:DELAY=7 540 TX$="FOR "+STR$(INT(((N/GG)*100)+.5))+"%.":GOSUB 3200:GOSUB 2000:RETURN 1000 REM *** CENTRAL ROUTINE *** 1005 HP=0:MI=0 1007 PRINT"[147]";CHR$(142); 1010 FORI=1TONP 1020 GOSUB19000 1030 GOSUB3600 1040 GOSUB11000:H=0:V=24 1066 TX$="":GOSUB3200:PRINT"  TO CONTINUE, TO EXIT [146]";:LO=0 1069 GETA$:IF A$=CHR$(13) THEN 1075 1070 IF A$=CHR$(140) THEN PA=0:RETURN 1072 GOTO 1069 1075 NEXTI:PA=0: RETURN 2000 REM *** TIMER *** 2010 TI$="000000" 2015 GETA$:IFA$<>""THEN2030 2020 IFTI/60HITHEN2110 2130 IFPA=1 THEN RETURN 2140 PRINT A$:RETURN 3000 REM *** CENTER TEXT *** 3010 LN=LEN(TX$):H=(40-LN)/2:GOSUB 3200:RETURN 3100 V=24:TX$="  <[210][197][212][213][210][206]> TO [195]ONTINUE. [146]":GOSUB3000:LO=0 3130 GET A$:IFA$=CHR$(13) THEN RETURN 3140 GOTO 3130 3200 REM *** HOR/VER TAB *** 3240 PRINT""LEFT$(VT$,V)TAB(H);TX$;:RETURN 3500 REM *** LINE ACROSS SCREEN *** 3510 PRINT"";:FOR Q=1 TO 10 3530 PRINT"[192][192][192][192]";:NEXT Q 3575 PRINT"";:RETURN 3600 REM *** PRINT SCREEN HEADER *** 3610 PRINT"[147]":TX$="VISION SOFTWARE PRESENTS:":H=10:V=1:GOSUB 3200 3660 TX$=T$:PRINT"";:H=10:V=3:GOSUB 3200:PRINT "";:PRINT:GOSUB3500:RETURN 3700 REM *** PRINT SCREEN HEADER *** 3710 PRINT"[147]" 3740 H=10:TX$="[214][201][211][201][207][206][160][211][207][198][212][215][193][210][197] AND":V=0:GOSUB 3200 3750 TX$="[213]P[212]IME [205]AGAZINE [208]RESENTS:":H=10:V=1:GOSUB 3200 3760 TX$="[214]ISION [212]IMES" 3765 PRINT"[150]";:H=10:V=3:GOSUB 3200:PRINT"";:PRINT:GOSUB 3500:RETURN 4000 REM *** READ DATA *** 4010 READT$:FORI=1TO6:READ RW$(I):NEXTI:FOR I=1TO3:READOP$(I):NEXTI 4070 FOR I=1 TO 4: READ CO(I):NEXTI:FORI=0TO9:FORJ=1TO3:READNU$(I,J):NEXTJ 4071 NEXT I:FORI=1TO6:READG$(I):NEXTI 4075 VT$="" 4080 RETURN 4100 REM *** PROGRAM DATA *** 4110 DATA"VISION TIMES" 4120 DATA"GREAT!","FANTASTIC!","SUPER!" 4130 DATA"YOU'RE REALLY GOING NOW!","YES! YES! YES!","THAT'S GREAT!" 4140 DATA"[211]EE EXAMPLES DONE." 4150 DATA"[196]O PROBLEMS WITH HELP." 4160 DATA"[196]O PROBLEMS YOURSELF." 4170 DATA 30,28,31,158 4180 DATA"[213][192][201]","[221] [221]","[202][192][203]" 4190 DATA" [174] "," [221] "," [177] " 4200 DATA"[213][192][201]","[213][192][203]","[173][192][192]" 4210 DATA"[192][192][201]","[192][192][179]","[192][192][203]" 4220 DATA"[213] [174]","[173][192][219]"," [177]" 4230 DATA"[176][192][201]","[173][192][201]","[192][192][203]" 4240 DATA"[213][192] ","[171][192][201]","[202][192][203]" 4250 DATA"[176][192][174]"," [213][203]"," [177] " 4260 DATA"[213][192][201]","[171][192][179]","[202][192][203]" 4270 DATA"[213][192][201]","[202][192][179]","[202][192][203]" 4280 DATA"[215]","[209]","[211]","[193]","[218]"," [146]" 5000 REM *** SETUP FOR MATH *** 5001 IFRU=1THEN5037 5010 H=0:V=10:TX$="[159][215]HAT'S YOUR FIRST NAME? " 5020 GOSUB 3200:MX=16:GOSUB6000:NA$=TE$ 5037 V=12:H=0:TX$="[159][215]OULD YOU LIKE TO:":GOSUB 3200:H=7:V=14 5050 FORI=1TO3:TX$=STR$(I)+". "+OP$(I):GOSUB3200:V=V+1:NEXTI:H=0:V=V+1 5090 TX$="[159][217]OUR CHOICE? (1[159]-3[159]) ":GOSUB 3200:LO=1:HI=3:GOSUB 2100:OP=A:HI=10 5130 IFOP=1THENHI=5 5150 V=20:H=0:TX$="[159][200]OW MANY PROBLEMS DO YOU WANT":GOSUB 3200: 5170 V=21:TX$="[159]TO DO? (2 [159]-"+STR$(HI)+"[159]) [157][157]" 5180 GOSUB 3200:MX=2:GOSUB 6000:NP=VAL(TE$) 5200 IFNP<2ORNP>HITHEN NP=0:GOTO5170 5390 RETURN 6000 TE$="":PRINT"[164]"; 6010 GET A$:IF A$="" THEN 6010 6020 IF A$=CHR$(13) THEN PRINT"[157] ":RETURN 6030 IF A$=CHR$(20) AND TE$="" THEN 6010 6040 IF A$=CHR$(20) THEN TE$=LEFT$(TE$,LEN(TE$)-1):PRINTA$A$"[164]";:GOTO 6010 6045 IF A$="[140]" THEN GOSUB 3700:GOTO 191 6050 IF LEN(TE$)=MX THEN 6010 6060 IF A$<" " OR A$>"[218]" THEN 6010 6070 IF A$>"Z" AND A$<"[193]" THEN 6010 6080 IF A$=CHR$(34) THEN 6010 6090 PRINT"[157]"A$"[164]"; 6100 TE$=TE$+A$:GOTO 6010 10000 REM *** DO SPRITEY THINGS *** 10001 FOR I=704 TO 767 10002 READX:POKEI,X 10003 NEXT 10004 POKE2040,11 10005 POKE53269,PEEK(53269)OR1 10006 POKE53287,2:POKE53277,255:POKE53271,255 10007 POKE53248,30:POKE53249,58 10008 RETURN 10009 DATA252,252,252,121,249,248,51,243,240 10010 DATA7,231,224,15,207,192,7,159,128 10011 DATA3,63,0,0,126,0,0,252,0 10012 DATA0,120,0,0,48,0,0,0,0 10013 DATA0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 11000 REM *** SEE EXAMPLES *** 11010 FORJ=1TO3:V=5+J:H=8:TX$=NU$(S(1),J):GOSUB 3200:NEXTJ 11060 FORJ=1TO3:V=9 +J:H=8:TX$=NU$(S(2),J):GOSUB 3200:NEXTJ:V=11:H=6:TX$="[214]" 11110 GOSUB3200:V=13:H=6:TX$="[192][192][192][192][192]":GOSUB 3200:IFOP=3 THEN 17000 11126 TX$="MAKE"+STR$(S(1))+" ROWS OF"+STR$(S(2))+" OBJECTS.":V=20:H=0 11127 V=20:H=0:GOSUB 3200:CO=INT(RND(1)*4)+1 11129 G=INT(RND(1)*6)+1:FORJ=0TOS(1):V=2*J+3+(9-S(1)):H=15+(10-S(2)) 11140 TX$=STR$(J):IFJ=0THENTX$="" 11155 GOSUB3200:TX$="":FORK=1TOS(2) 11170 :IFJ<>0THENTX$=TX$+" "+CHR$(CO(CO))+G$(G)+"" 11180 ::IFJ=0THENTX$=TX$+STR$(K) 11200 NEXTK:H=17+(10-S(2)):GOSUB3200:NEXTJ:IFOP<>2 THEN DELAY=1:GOSUB 2000 11220 V=22:H=0:TX$="COUNT THE OBJECTS TO FIND THE PRODUCT.":GOSUB 3200 11231 IFOP=2THEN PA=1:GOTO11240 11232 FORJ=1TOS(1):V=2*J+3+(9-S(1)):H=15+(10-S(2))+(S(2)+1)*2: 11234 :TX$=""+STR$(S(2)*J)+"":GOSUB3200:DELAY=.5:GOSUB 3200:DELAY=.5 11235 :GOSUB3200:DELAY=.5:GOSUB2000 11236 GOSUB2000:NEXTJ:IF REV=1 THEN RETURN 11240 IFS(3)<10THEN12000 11250 DELAY=1:GOSUB 2000:V=14:H=4:TX$=STR$(INT(S(3)/10)):IFOP=2 THEN GOSUB15000 11280 FORJ=1TO3:TX$=NU$(INT(S(3)/10),J):GOSUB 3200:V=V+1:NEXTJ 11990 S(3)=S(3)-INT(S(3)/10)*10 12000 V=14:H=8:TX$=STR$(INT(S(3))):DELAY=1:GOSUB2000:IFOP=2 THEN GOSUB 15000 12030 FORJ=1TO3:TX$=NU$(INT(S(3)),J):GOSUB3200:V=V+1:NEXTJ:RETURN 15000 REM *** EXAMPLES WITH HELP *** 15010 :V1=V:H1=H:T1$=TX$:S$=TX$:FORL=2 TO LEN(S$):V=V1+1:H=H1+L-1:TX$="^" 15040 :GOSUB3200:Y=0:LO=0:HI=9 15060 GOSUB 2100:IFA$=MID$(S$,L,1) THEN 15150 15080 :Y=Y+1:IFY<3THEN15060 15090 :V=23:TX$="ENTER A "+MID$(S$,L,1)+" PLEASE.[146]":GOSUB 3000:GOSUB 3200 15110 :TX$=" ":DELAY=1.5:GOSUB 2000:GOSUB 3200:GOTO15060 15150 V=V1+1:H=H1+L-1:TX$=" " 15180 :GOSUB3200:NEXTL:V=V1:H=H1:TX$=T$:RETURN 17000 REM *** DO PROBLEMS *** 17010 V=16:H=0:TX$="[158]YOUR ANSWER: ":GOSUB3200:MX=3:GOSUB6000 17020 AN=VAL(TE$):IF AN=0 THEN 17010 17040 GG=GG+1:IFINT(AN)=INT(S(3))THEN N=N+1:GOTO 17120 17070 V=22:TX$="SORRY. THE CORRECT ANSWER IS"+STR$(S(3))+".":GOSUB3000:DELAY=5 17090 REV=1:GOSUB 2000:GOSUB 11126:REV=0:RETURN 17120 RW=INT(RND(0)*6)+1:FORJ=1TO4:V=20 17135 :TX$=" ":GOSUB 3000 17140 V=20:TX$=CHR$(CO(J))+RW$(RW)+CHR$(5):GOSUB3000:NEXTJ:RETURN 19000 REM *** MATH ROUTINE *** 19020 S(1)=INT(RND(1)*6)+1:S(2)=INT(RND(1)*8)+2:S(3)=S(1)*S(2):RETURN 20000 REM *** INFO INFO INFO *** 20001 GOSUB3700:V=6:READ NN:FOR I=1 TO NN:READTX$ 20005 IFTX$="PAGE"THENGOSUB 3100:GOSUB 3700:V=6:GOTO20009 20006 H=2:IFMID$(TX$,10,1)="[163]"THENV=V+1:GOSUB3200:GOTO20009 20007 IF I=8 OR I=7 THEN V=V+1:GOSUB 3200:GOTO 20009 20008 V=V+2:GOSUB3200 20009 NEXTI:RETURN 20011 DATA35 20012 DATA"[212]HIS PROGRAM WILL HELP YOU LEARN" 20013 DATA"YOUR MULTIPLICATION TABLES. [217]OU" 20014 DATA"CAN COUNT OBJECTS TO FIND THE PRODUCT." 20015 DATA"[212]HERE ARE THREE WAYS TO USE THE" 20016 DATA"PROGRAM:"," 1) [211]EE EXAMPLES DONE" 20017 DATA" 2) [196]O PROBLEMS WITH HELP" 20018 DATA" 3) [196]O PROBLEMS YOURSELF" 20020 DATA"PAGE"," 1) [211]EE EXAMPLES DONE" 20021 DATA" [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]" 20022 DATA"[201]F YOU WANT TO SEE EXAMPLES DONE," 20023 DATA"[201] WILL SHOW YOU HOW TO DO THEM," 20024 DATA"EXPLAINING EACH STEP AS [201] GO." 20026 DATA"PAGE"," 2) [196]O PROBLEMS WITH HELP" 20027 DATA" [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]" 20028 DATA"[212]O DO PROBLEMS WITH HELP, [201] WILL" 20029 DATA"GIVE YOU A HINT FOR EACH STEP," 20030 DATA"AND HELP YOU IF YOU MAKE MISTAKES." 20032 DATA"PAGE"," 3) [196]O PROBLEMS YOURSELF" 20033 DATA" [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]" 20034 DATA"[212]HE THIRD OPTION IS TO WORK PROBLEMS" 20035 DATA"ON YOUR OWN. [198]OR THIS OPTION," 20036 DATA"YOU MAY NEED PENCIL AND PAPER." 20038 DATA"PAGE"," [206]UMBER OF [208]ROBLEMS" 20039 DATA" [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]" 20040 DATA"[204]AST, YOU DECIDE HOW MANY PROBLEMS" 20041 DATA"TO DO. [201]F YOU LET THE COMPUTER DO" 20042 DATA"THE WORK, YOU MAY ONLY HAVE 5" 20043 DATA"PROBLEMS; OTHERWISE YOU MAY HAVE" 20044 DATA"FROM 2 TO 10 PROBLEMS." 20045 DATA"PAGE" 21000 PRINT"[147]" 21010 H=10:TX$="[214][201][211][201][207][206][160][211][207][198][212][215][193][210][197] AND":V=1:GOSUB 3200 21020 TX$="[213]P[212]IME [205]AGAZINE [208]RESENTS:":H=10:V=2:GOSUB 3200 21040 PRINT:PRINT:GOSUB 3500 21050 PRINT" 21200 [153][163]8)"SYS WAIT  WAIT  WAIT * LOGWAIT  WAIT * WAITRND  WAITRND  " 21210 [153][163]8)" WAITRND * WAIT  WAIT  WAIT  WAIT  WAITCOSLOG WAIT  WAITRND  " 21220 [153][163]8)"LOG WAIT  WAITCOS  WAIT LOG LOGWAIT  WAIT  WAIT  WAIT  WAITLOG WAITRND " 21230 [153][163]8)"  WAIT  WAIT  WAIT INTWAITGET WAIT  WAITRND* WAIT  WAIT LOG " 21240 [153][163]8)" LOG WAITCOS  WAIT LOG *WAIT  WAIT LOG WAITCOS  WAIT LOG " 21250 [153][163]9)"SYS WAIT  WAIT  WAITRND * WAIT  WAIT * LOG" 21260 [153][163]9)"  WAIT  WAIT  WAITNEW WAIT  WAIT  " 21270 [153][163]9)"  WAIT  WAIT  WAITLOG WAITCOS WAIT  WAIT LOG LOG" 21280 [153][163]9)"  WAIT  WAIT  WAIT  WAIT  WAIT INTWAITGET" 21290 [153][163]9)"  WAIT  WAIT  WAIT  WAIT  WAIT LOG *" 21295 [153][163]8)"DEF(null)RESS (null)VAL(null)(null)(null)(null)DEF TO LENONTINUE" 21300 [153]"PRINT# (null)UBLISHED BY (null)OFTDISK (null)UBLISHING, RIGHT$NC."; 21305 [151] 198,0 21310 [161]A$:[139] A$[178][199](13) [167] [142] 21320 [139] A$[178]"RESTORE" [167] 230 21330 [137] 21310